package com.feri.api.service.impl;

import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.feri.api.dao.HouseDao;

import com.feri.api.dto.HouseUpdateDto;
import com.feri.api.service.intf.HouseService;
import com.feri.api.util.TokenUtil;
import com.feri.api.vo.R;
import com.feri.common.entity.House;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import javax.annotation.Resource;
import java.util.Date;

/**
 * ━━━━━━神兽出没━━━━━━
 * 　　　┏┓　　　┏┓
 * 　　┏┛┻━━━┛┻┓
 * 　　┃　　　　　　 ┃
 * 　　┃　　　━　　　┃
 * 　　┃　┳┛　┗┳　  ┃
 * 　　┃　　　　　　 ┃
 * 　　┃　　　┻　　　┃
 * 　　┃　　　　　　　┃
 * 　　┗━┓　　　┏━┛Code is far away from bug with the animal protecting
 * 　　　　┃　　　┃    神兽保佑,代码无bug
 * 　　　　┃　　　┃
 * 　　　　┃　　　┗━━━┓
 * 　　　　┃　　　　　　　┣┓
 * 　　　　┃　　　　　　　┏┛
 * 　　　　┗┓┓┏━┳┓┏┛
 * 　　　　　┃┫┫　┃┫┫
 * 　　　　　┗┻┛　┗┻┛
 * ━━━━━━永无BUG!━━━━━━
 *
 * @Description:
 * @Author: 学习强国
 * @Date: 2022/10/02 13:26:55
 */
@Service
public class HouseServiceImpl implements HouseService {
    @Resource
    private HouseDao dao;


    @Override
    public R save(House obj, String token) {
       if (obj!=null){
           long uid = TokenUtil.toLong(token);
           obj.setUid(uid);
           obj.setCtime(new Date());
           dao.insert(obj);
           return R.ok(obj);
       }else {
           return R.fail("新增失败");
       }
    }

    @Override
    public R queryAll(String token) {
        return R.ok(dao.selectList(new QueryWrapper<House>().eq("uid",TokenUtil.toLong(token))));
    }

    @Override
    public R updateHouse(HouseUpdateDto dto, String token) {
       if (dto!=null){
           long uid =TokenUtil.toLong(token);
           House house = dao.selectOne(new QueryWrapper<House>().eq("uid", uid));
           house.setLocalHouse(dto.getLocalHouse());
           house.setFlag(dto.getFlag());
           dao.updateById(house);
           return R.ok(house);
       }else {
           return R.fail("更改失败");
       }
    }

    @Override
    public R del(int id) {
        if (id>0){
            dao.deleteById(id);
            return R.ok();
        }else {
            return R.fail("解绑失败");
        }
    }
}